package com.ruoyi.quartz.domain;

import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.domain.UUIDGenerator;
import org.babyfish.jimmer.sql.Entity;
import org.babyfish.jimmer.sql.GeneratedValue;
import org.babyfish.jimmer.sql.Id;
import org.babyfish.jimmer.sql.Table;
import org.springframework.lang.Nullable;

/**
 * 定时任务调度表 sys_job
 *
 * @author ruoyi
 */
@Table(name = "sys_job")
@Entity
public interface SysJob extends BaseEntity {

    /**
     * 任务ID
     */
    @Id
    @GeneratedValue(generatorType = UUIDGenerator.class)
    String jobId();

    /**
     * 任务名称
     */
    String jobName();

    /**
     * 任务组名
     */
    String jobGroup();

    /**
     * 调用目标字符串
     */
    @Nullable
    String invokeTarget();

    /**
     * cron执行表达式
     */
    @Nullable
    String cronExpression();

    /**
     * cron计划策略
     */
    @Nullable
    String misfirePolicy();

    /**
     * 是否并发执行（0允许 1禁止）
     */
    @Nullable
    String concurrent();

    /**
     * 任务状态（0正常 1暂停）
     */
    String status();


}
